package dominio;

import java.awt.Graphics;
import java.util.ArrayList;
import javax.swing.JLabel;

public class MiAreaDibujo extends JLabel {
	private ArrayList<ObjetoGrafico> objetosGraficos = new ArrayList<ObjetoGrafico>();
	private int ruta=0,X,Y;
	public MiAreaDibujo() {
	}

	public void addObjetoGrafico(ObjetoGrafico objg) {
		objetosGraficos.add(objg);
	}
	public void cleanObjetoGrafico(){
		objetosGraficos.clear();
	}

	public ObjetoGrafico getUltimoObjetoGrafico() {
		return objetosGraficos.get(objetosGraficos.size() - 1);
	}

	public void paint(Graphics g) {
		super.paint(g);
		ruta=0;
		for (int i = 0; i < objetosGraficos.size(); i++) {
			ObjetoGrafico objg = objetosGraficos.get(i);
			if (objg instanceof ImagenGrafico) {
				g.drawImage(((ImagenGrafico) objg).getImagen(), objg.getX(),
						objg.getY(), null);
			} else if (objg instanceof RutaGrafico) {
				g.setColor(((RutaGrafico) objg).getColor());
				if(ruta==0){
					X=objg.getX();
					Y=objg.getY();
					ruta++;
				}else{
					g.drawLine(X,Y,objg.getX(),objg.getY());
					X=objg.getX();
					Y=objg.getY();
				}
			} else { // Es un objeto de tipo TextoGrafico
				g.setColor(((TextoGrafico) objg).getColor());
				g.drawString(((TextoGrafico) objg).getTexto(), objg.getX(),
						objg.getY());
			}
		}
	}
}